/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.opgea.token.service;

import java.util.List;
import java.util.Map;

import com.opgea.token.domain.entities.TokenDetails;
import com.opgea.token.domain.model.CompanyStatus;
import com.opgea.token.domain.model.TokenStatus;

/**
 * 
 * @author Ramesh
 */
public interface ApplicationService {

    public CompanyStatus addCompanyStatus(CompanyStatus companyStatus);

    public CompanyStatus removeCompanyStatus(Long companyId);

    public CompanyStatus updateCompanyStatus(CompanyStatus companyStatus);

    public Map<Long, CompanyStatus> findAllCompanies();

    public CompanyStatus findCompany(Long id);

    public TokenStatus addTokenStatus(TokenDetails tokenDetails);

    public TokenStatus updateTokenStatus(TokenDetails tokenDetails);

    public TokenStatus removeTokenStatus(TokenDetails tokenDetails);

    public List<TokenStatus> findAllTokenStatus(Long companyId);

    public List<TokenStatus> findAllTokenStatusByDestination(Long companyId,
	    Long destinationId);
}
